package com.yuke.cloud.service.wmc.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.util.Date;


@ApiModel(value="com.yuke.cloud.service.wmc.entity.WmsStorage")
@Table(name = "wms_storage")
@Data
public class WmsStorage {
    @Transient
    private String warehouseName;
    @Transient
    private  String categoryName;

    @Transient
    private String smallPicUri;

    @Transient
    private String productName;


    /**
     * 距生产日期天数
     */
    @Transient
    private Integer quantityDays;

    /**
     * 入库天数
     */
    @Transient
    private Integer warehouseDays;

    /**
     * 主键，自增
     */
    @Id
    @Column(name = "storage_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value="storageId主键，自增")
    private Long storageId;

    /**
     * 仓库ID
     */
    @Column(name = "warehouse_id")
    @ApiModelProperty(value="warehouseId仓库ID")
    private Long warehouseId;

    /**
     * 商品名称
     */
    @Column(name = "spec_name")
    @ApiModelProperty(value="specName商品名称")
    private String specName;

    /**
     * 商品规格ID
     */
    @Column(name = "spec_id")
    @ApiModelProperty(value="specId商品规格ID")
    private Long specId;

    /**
     * 商品ID
     */
    @Column(name = "product_id")
    @ApiModelProperty(value="productId商品ID")
    private Long productId;

    /**
     * 商品类别ID
     */
    @Column(name = "category_id")
    @ApiModelProperty(value="categoryId商品类别ID")
    private Long categoryId;

    /**
     * 品牌ID
     */
    @Column(name = "brand_id")
    @ApiModelProperty(value="brandId品牌ID")
    private Long brandId;

    /**
     * 商品数量虚拟
     */
    @Column(name = "stock_count")
    @ApiModelProperty(value="stockCount商品库存数量")
    private Integer stockCount;

    /**
     * 商品数量
     */
    @ApiModelProperty(value="number商品数量")
    private Integer number;

    /**
     * 商品锁定数量
     */
    @Column(name = "lock_number")
    @ApiModelProperty(value="lockNumber商品锁定数量")
    private Integer lockNumber;

    /**
     * 店铺在采购商品时设定的进货价格，单位分
     */
    @Column(name = "stock_price")
    @ApiModelProperty(value="stockPrice店铺在采购商品时设定的进货价格，单位分")
    private Integer stockPrice;

    /**
     * 市场售价，价格单位为分
     */
    @Column(name = "market_price")
    @ApiModelProperty(value="marketPrice市场售价，价格单位为分")
    private Integer marketPrice;

    /**
     * 平台销售指导价，价格单位为分
     */
    @Column(name = "guidance_price")
    @ApiModelProperty(value="guidancePrice平台销售指导价，价格单位为分")
    private Integer guidancePrice;

    /**
     * 进货价
     */
    @Column(name = "purchase_price")
    @ApiModelProperty(value="purchasePrice进货价")
    private Integer purchasePrice;

    /**
     * 会员售价，价格单位为分
     */
    @Column(name = "member_price")
    @ApiModelProperty(value="memberPrice会员售价，价格单位为分")
    private Integer memberPrice;

    /**
     * 特供售价，价格单位为分
     */
    @Column(name = "special_price")
    @ApiModelProperty(value="specialPrice特供售价，价格单位为分")
    private Integer specialPrice;

    /**
     * 排序，数值越小越靠前
     */
    @ApiModelProperty(value="sort排序，数值越小越靠前")
    private Integer sort;

    /**
     * 是否为推荐商品，0：不是，1：是
     */
    @Column(name = "is_recommend")
    @ApiModelProperty(value="isRecommend是否为推荐商品，0：不是，1：是")
    private Boolean isRecommend;

    /**
     * 是否启用，0：不启用，1：启用
     */
    @Column(name = "is_enable")
    @ApiModelProperty(value="isEnable是否启用，0：不启用，1：启用")
    private Boolean isEnable;

    /**
     * 是否支持退货，0：不支持，1：支持
     */
    @Column(name = "is_return")
    @ApiModelProperty(value="isReturn是否支持退货，0：不支持，1：支持")
    private Boolean isReturn;

    /**
     * 是否厂家直销商品，0：不是，1：是
     */
    @Column(name = "is_factory")
    @ApiModelProperty(value="isFactory是否厂家直销商品，0：不是，1：是")
    private Boolean isFactory;

    /**
     * 是否支持分销，如果支持分销，则云顶商人（店铺）通过该商品分销后可获得佣金
     */
    @Column(name = "is_retail")
    @ApiModelProperty(value="isRetail是否支持分销，如果支持分销，则云顶商人（店铺）通过该商品分销后可获得佣金")
    private Boolean isRetail;

    /**
     * 是否新品
     */
    @Column(name = "is_new")
    @ApiModelProperty(value="isNew是否新品")
    private Boolean isNew;

    /**
     * 销售类型，1：零售，2：批发，3：零售+批发
     */
    @Column(name = "sale_type")
    @ApiModelProperty(value="saleType销售类型，1：零售，2：批发，3：零售+批发")
    private Byte saleType;

    /**
     * 商品销售总量
     */
    @Column(name = "sale_count")
    @ApiModelProperty(value="saleCount商品销售总量")
    private Long saleCount;

    /**
     * 支持几天内退货，从发货时间开始计算
     */
    @Column(name = "return_period")
    @ApiModelProperty(value="returnPeriod支持几天内退货，从发货时间开始计算")
    private Byte returnPeriod;

    /**
     * 是否搭赠活动商品，0：不是，1：是
     */
    @Column(name = "has_tying")
    @ApiModelProperty(value="hasTying是否为商家端搭赠活动商品，0：不是，1：是")
    private Boolean hasTying;

    /**
     * 搭赠商品spec_id
     */
    @Column(name = "gift_spec_id")
    @ApiModelProperty(value="giftSpecId搭赠商品spec_id")
    private Long giftSpecId;

    /**
     * 是否打折，0：不是，1：是
     */
    @Column(name = "has_discount")
    @ApiModelProperty(value="hasDiscount是否打折，0：不是，1：是")
    private Byte hasDiscount;

    /**
     * 是否满减，0：不是，1：是
     */
    @Column(name = "has_reduction")
    @ApiModelProperty(value="hasReduction是否满减，0：不是，1：是")
    private Byte hasReduction;

    /**
     * 是否返利，0：不是，1：是
     */
    @Column(name = "has_rebate")
    @ApiModelProperty(value="hasRebate是否返利，0：不是，1：是")
    private Byte hasRebate;

    /**
     * 生产日期
     */
    @Column(name = "mfg_date")
    @ApiModelProperty(value="mfgDate生产日期")
    private Date mfgDate;

    /**
     * 入库日期
     */
    @Column(name = "stockin_date")
    @ApiModelProperty(value="stockinDate入库日期")
    private Date stockinDate;

    /**
     * 存货
     */
    @ApiModelProperty(value="remainder存货")
    private Integer remainder;

    /**
     * 保质期
     */
    @ApiModelProperty(value="quality保质期")
    private Integer quality;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @ApiModelProperty(value="createTime创建时间")
    private Date createTime;

    /**
     * 记录更新时间
     */
    @Column(name = "update_time")
    @ApiModelProperty(value="updateTime记录更新时间")
    private Date updateTime;

    /**
     * 更新者ID
     */
    @Column(name = "update_id")
    @ApiModelProperty(value="updateId商品ID")
    private Long updateId;

    //进货价
    @Transient
    private Integer SupplyPrice;



}
